/******************************************************************************/
/*  Class LED                                                                 */
/*  PO: S. Maslyakov, rusoil.9@gmail.com                                      */
/*                                                                            */
/*  Revision:     1.5                                                         */
/*  Date:         2010/12/25 18:28:33                                         */
/******************************************************************************/


#ifndef __LED_H
#define __LED_H


#include "data_types.h"
#include "Led\led_def.h"


//==============================================================================
//  Class LED
//==============================================================================
class LED
{
public:
  static void Init_Led();
  static void Init_led_task();
  static void LedOn(const __eIND_LED _led, const uint32_t _data);
  static void IntLedOn(const __eIND_LED _led, const uint32_t _data);

private:
  static void Task_led_poll(void * par);
  inline static void GsmLedOn() { FIO1CLR_bit.P1_27 = 1; }
  inline static void StatusLedOn() { FIO1CLR_bit.P1_19 = 1; }
  inline static void DataLedOn() { FIO1CLR_bit.P1_18 = 1; }
  inline static void GsmLedOff() { FIO1SET_bit.P1_27 = 1; }
  inline static void StatusLedOff() { FIO1SET_bit.P1_19 = 1; }
  inline static void DataLedOff() { FIO1SET_bit.P1_18 = 1; }

  static __LED_TOOL m_ledData;
  static __LED_TOOL m_ledStatus;
  static __LED_TOOL m_ledGsm;
};
//==============================================================================
//==============================================================================


#endif